home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-29 | 49.5 KB | 1,444 lines | [TEXT/MPS ] |
- ; Version: 3.18
- ; Created: Friday, October 20, 1989 at 9:46:43 PM
- ;
- ; File ScriptEqu.a
- ;
- ; Assembler Interface to the Macintosh Libraries
- ; Copyright Apple Computer, Inc. 1986-1991
- ; All Rights Reserved
- ;
- ; -----------------------------------------------------------------------------
- ; Script Manager equates file.
- ;
- ; This file contains all equates for the script environment, shared
- ; equates for the script interface systems, equates that are special for
- ; the Roman Interface System, and all equates for the script interface
- ; system package.
- ; -----------------------------------------------------------------------------
- ;
-
- IF &TYPE('__IncludingScriptEqu__') = 'UNDEFINED' THEN
- __IncludingScriptEqu__ SET 1
-
- IF &TYPE('__IncludingTraps__') = 'UNDEFINED' THEN ;for _ScriptUtil,_ReadXPRam,_WriteXPRam
- INCLUDE 'Traps.a'
- ENDIF
- ; -----------------------------------------------------------------------------
-
- ; Script System constants.
-
- smSystemScript EQU -1 ; designates system script <23>
- smCurrentScript EQU -2 ; designates current font script <27><33>
- smAllScripts EQU -3 ; designates any script <39>
-
- smRoman EQU 0 ; Roman
- smJapanese EQU 1 ; Japanese
- smTradChinese EQU 2 ; Traditional Chinese <14>
- smKorean EQU 3 ; Korean
- smArabic EQU 4 ; Arabic
- smHebrew EQU 5 ; Hebrew
- smGreek EQU 6 ; Greek
- smCyrillic EQU 7 ; Cyrillic <3>
- smRSymbol EQU 8 ; Right-left symbols
- smDevanagari EQU 9 ; Devanagari
- smGurmukhi EQU 10 ; Gurmukhi
- smGujarati EQU 11 ; Gujarati
- smOriya EQU 12 ; Oriya
- smBengali EQU 13 ; Bengali
- smTamil EQU 14 ; Tamil
- smTelugu EQU 15 ; Telugu
- smKannada EQU 16 ; Kannada/Kanarese
- smMalayalam EQU 17 ; Malayalam
- smSinhalese EQU 18 ; Sinhalese
- smBurmese EQU 19 ; Burmese
- smKhmer EQU 20 ; Khmer/Cambodian
- smThai EQU 21 ; Thai
- smLaotian EQU 22 ; Laotian
- smGeorgian EQU 23 ; Georgian
- smArmenian EQU 24 ; Armenian
- smSimpChinese EQU 25 ; Simplified Chinese <14>
- smTibetan EQU 26 ; Tibetan
- smMongolian EQU 27 ; Mongolian
- smGeez EQU 28 ; Geez/Ethiopic <1.6>
- smEthiopic EQU 28 ; Synonym for smGeez <20>
- smEastEurRoman EQU 29 ; Extended Roman for Slavic & Baltic langs <21>
- smVietnamese EQU 30 ; Extended Roman for Vietnamese
- smExtArabic EQU 31 ; Extended Arabic for Sindhi, etc. <21>
- smUninterp EQU 32 ; uninterpreted symbols, e.g. palette symbols
-
- ; Obsolete names for script systems (kept for backward compatibility).
-
- smChinese EQU 2 ; (use smTradChinese or smSimpChinese). <14>
- smRussian EQU 7 ; (old name for smCyrillic).
- ;smMaldivian EQU 25 ; (no more smMaldivian!) <14>
- smAmharic EQU 28 ; (old name for smGeez)
- smSlavic EQU 29 ; (old name for smEastEurRoman)
- smSindhi EQU 31 ; (old name for smExtArabic) <21>
-
- ; Language codes - moved to LanguageEqu.a <21>
-
- ; Calendar Codes
-
- calGregorian EQU 0
- calArabicCivil EQU 1
- calArabicLunar EQU 2
- calJapanese EQU 3
- calJewish EQU 4
- calCoptic EQU 5
- calPersian EQU 6 ; <19>
-
- ; Integer Format Codes
-
- intWestern EQU 0
- intArabic EQU 1
- intRoman EQU 2
- intJapanese EQU 3
- intEuropean EQU 4
- intOutputMask EQU $8000
-
- ; CharByte byte types.
-
- smSingleByte EQU 0
- smFirstByte EQU -1
- smLastByte EQU 1
- smMiddleByte EQU 2
-
- ; CharType field masks
-
- smcTypeMask EQU $000F
- smcReserved EQU $00F0
- smcClassMask EQU $0F00
- smcOrientationMask EQU $1000 ; two-byte script glyph orientation <27><33>
- smcRightMask EQU $2000
- smcUpperMask EQU $4000
- smcDoubleMask EQU $8000
-
- ; Basic CharType character types.
-
- smCharPunct EQU $0000
- smCharAscii EQU $0001
- smCharEuro EQU $0007
- smCharExtAscii EQU $0007 ; More correct synonym for smCharEuro <20>
-
- ; Additional CharType character types for script systems.
-
- smCharKatakana EQU $0002 ; Japanese Katakana <32>
- smCharHiragana EQU $0003 ; Japanese Hiragana <32>
- smCharIdeographic EQU $0004 ; Hanzi, Kanji, Hanja <32>
- smCharTwoByteGreek EQU $0005 ; 2-byte Greek in Far East systems <32>
- smCharTwoByteRussian EQU $0006 ; 2-byte Cyrillic in Far East systems <32>
- smCharBidirect EQU $0008 ; Arabic, Hebrew <20>
- smCharHangul EQU $000C ; Korean Hangul <20><32>
- smCharJamo EQU $000D ; Korean Jamo <35>
- ; old names for above, for backward compatibility
- smCharFISKana EQU $0002 ; Katakana
- smCharFISGana EQU $0003 ; Hiragana
- smCharFISIdeo EQU $0004 ; Hanzi, Kanji, Hanja
- smCharFISGreek EQU $0005 ; 2-byte Greek in Far East systems
- smCharFISRussian EQU $0006 ; 2-byte Cyrillic in Far East systems
-
- ; CharType punctuation sub-types.
-
- smPunctNormal EQU $0000
- smPunctNumber EQU $0100
- smPunctSymbol EQU $0200
- smPunctBlank EQU $0300 ; NBSP is PunctNormal
-
- ; CharType punctuation sub-types for two-byte systems <27>
-
- smPunctRepeat EQU $0400 ; repeat marker <27><32><33>
- smPunctGraphic EQU $0500 ; line graphics <27><32>
-
- ; CharType Katakana and Hiragana sub-types for two-byte systems <27>
-
- smKanaSmall EQU $0100 ; small kana character <27>
- smKanaHardOK EQU $0200 ; can have dakuten <27>
- smKanaSoftOK EQU $0300 ; can have dakuten or han-dakuten <27>
-
- ; CharType Ideographic sub-types for two-byte systems
-
- smIdeographicLevel1 EQU $0000 ; level 1 char <32>
- smIdeographicLevel2 EQU $0100 ; level 2 char <32>
- smIdeographicUser EQU $0200 ; user char <32>
- ; old names for some of above, for backward compatibility
- smFISClassLvl1 EQU $0000 ; level 1 char <5><26>
- smFISClassLvl2 EQU $0100 ; level 2 char <5><26>
- smFISClassUser EQU $0200 ; user char <5><26>
-
- ; CharType Jamo sub-types for Korean systems <35>
-
- smJamoJaeum EQU $0000 ; simple consonant char <35>
- smJamoBogJaeum EQU $0100 ; complex consonant char <35>
- smJamoMoeum EQU $0200 ; simple vowel char <35>
- smJamoBogMoeum EQU $0300 ; complex consonant char <35>
-
- ; CharType glyph orientation for two-byte systems <27>
-
- smCharHorizontal EQU $0000 ; horizontal character form, or for both <27>
- smCharVertical EQU $1000 ; vertical character form <27>
-
- ; CharType directions
-
- smCharLeft EQU $0000
- smCharRight EQU $2000
-
- ; CharType case modifers.
-
- smCharLower EQU $0000
- smCharUpper EQU $4000
-
- ; CharType character size modifiers (1 or multiple bytes).
-
- smChar1byte EQU $0000
- smChar2byte EQU $8000
-
- ; Char2Pixel directions.
-
- smLeftCaret EQU 0 ; Place caret for left block.
- smRightCaret EQU -1 ; Place caret for right block.
- smHilite EQU 1 ; Direction is TESysJust.
-
- ; Transliterate target types for Roman.
-
- smTransAscii EQU 0 ; convert to ASCII
- smTransNative EQU 1 ; convert to font script <33>
- smTransCase EQU $FE ; convert case for all text
- smTransSystem EQU $FF ; convert to system script
-
- ; Transliterate target types for two-byte scripts <35>
-
- smTransAscii1 EQU 2 ; 1-byte Roman
- smTransAscii2 EQU 3 ; 2-byte Roman
- smTransKana1 EQU 4 ; 1-byte Japanese Katakana
- smTransKana2 EQU 5 ; 2-byte Japanese Katakana
- ; (no 1-byte hiragana)
- smTransGana2 EQU 7 ; 2-byte Japanese Hiragana
- smTransHangul2 EQU 8 ; 2-byte Korean Hangul <35>
- smTransJamo2 EQU 9 ; 2-byte Korean Jamo <35>
- smTransBopomofo2 EQU 10 ; 2-byte Chinese Bopomofo <35>
-
- ; Transliterate target modifiers.
-
- smTransLower EQU $4000 ; target becomes lowercase <33>
- smTransUpper EQU $8000 ; target becomes uppercase <33>
-
- ; Transliterate source mask - general.
-
- smMaskAll EQU $FFFFFFFF ; Convert all text
-
- ; Transliterate source masks for Roman.
-
- smMaskAscii EQU $00000001 ; 2^smTransAscii
- smMaskNative EQU $00000002 ; 2^smTransNative
-
- ; Transliterate source masks for two-byte scripts. <35>
-
- smMaskAscii1 EQU $00000004 ; 2^smTransAscii1
- smMaskAscii2 EQU $00000008 ; 2^smTransAscii2
- smMaskKana1 EQU $00000010 ; 2^smTransKana1
- smMaskKana2 EQU $00000020 ; 2^smTransKana2
- smMaskGana2 EQU $00000080 ; 2^smTransGana2
- smMaskHangul2 EQU $00000100 ; 2^smTransHangul2 <35>
- smMaskJamo2 EQU $00000200 ; 2^smTransJamo2 <35>
- smMaskBopomofo2 EQU $00000400 ; 2^smTransBopomofo2 <35>
-
- ; Result values from GetEnvirons, SetEnvirons, GetScript and SetScript calls.
-
- smNotInstalled EQU 0 ; routine not available in script
- smBadVerb EQU -1 ; Bad verb passed to a routine.
- smBadScript EQU -2 ; Bad script code passed to a routine.
-
- ; Values for script redraw flag <23>
-
- smRedrawChar EQU 0 ; redraw character only
- smRedrawWord EQU 1 ; redraw entire word (2-byte systems)
- smRedrawLine EQU -1 ; redraw entire line (bidirectional systems)
-
- ; Result values from StyledLineBreak
-
- smBreakWord EQU 0 ; could break at word boundary
- smBreakChar EQU 1 ; had to break at char boundary
- smBreakOverflow EQU 2 ; text too short, width subtracted
-
- ; -----------------------------------------------------------------------------
- ; GetEnvirons and SetEnvirons verbs.
- ; -----------------------------------------------------------------------------
-
- smVersion EQU 0 ; Script Manager version number. <33>
- smMunged EQU 2 ; Globals change count.
- smEnabled EQU 4 ; Count of enabled scripts, incl Roman. <33>
- smBidirect EQU 6 ; At least one bidirectional script. <33>
- smFontForce EQU 8 ; Force font flag.
- smIntlForce EQU 10 ; Force intl flag.
- smForced EQU 12 ; Script was forced to system script. <33>
- smDefault EQU 14 ; Script was defaulted to Roman script. <33>
- smPrint EQU 16 ; Printer action routine.
- smSysScript EQU 18 ; System script.
- smLastScript EQU 20 ; Last keyboard script.
- smKeyScript EQU 22 ; Keyboard script.
- smSysRef EQU 24 ; System folder refNum.
- smKeyCache EQU 26 ; Obsolete <33>
- smKeySwap EQU 28 ; Swapping table handle. <33>
- smGenFlags EQU 30 ; general flags long
- smOverride EQU 32 ; script override flags
- smCharPortion EQU 34 ; Ch vs SpExtra proportion
- ; New for System 7.0: <2.4>
- smDoubleByte EQU 36 ; Flag for double-byte script installed <2.4>
- smKCHRCache EQU 38 ; Returns pointer to KCHR cache <2.6>
- smRegionCode EQU 40 ; Returns current region code (verXxx) <3>
-
- ; -----------------------------------------------------------------------------
- ; GetScript and SetScript verbs.
- ; Note: verbs private to script systems are negative, while
- ; those general across script systems are non-negative
- ; -----------------------------------------------------------------------------
-
- smScriptVersion EQU 0 ; Script software version.
- smScriptMunged EQU 2 ; Script entry changed count.
- smScriptEnabled EQU 4 ; Script enabled flag.
- smScriptRight EQU 6 ; Right to left flag.
- smScriptJust EQU 8 ; Justification flag.
- smScriptRedraw EQU 10 ; Word redraw flag.
- smScriptSysFond EQU 12 ; Preferred system font.
- smScriptAppFond EQU 14 ; Preferred Application font.
- smScriptBundle EQU 16 ; Beginning of itlb verbs.
- smScriptNumber EQU 16 ; Script itl0 id.
- smScriptDate EQU 18 ; Script itl1 id.
- smScriptSort EQU 20 ; Script itl2 id.
- smScriptFlags EQU 22 ; Script flags
- smScriptToken EQU 24 ; Script itl4 id.
- smScriptEncoding EQU 26 ; id of optional itl5, if present. <22>
- smScriptLang EQU 28 ; Current language for script
- smScriptNumDate EQU 30 ; Script Number/Date formats
- smScriptKeys EQU 32 ; Script KCHR id.
- smScriptIcon EQU 34 ; ID # of SICN or kcs#/kcs4/kcs8 suite.
- smScriptPrint EQU 36 ; Script printer action routine.
- smScriptTrap EQU 38 ; Trap entry pointer.
- smScriptCreator EQU 40 ; Script file creator.
- smScriptFile EQU 42 ; Script file name.
- smScriptName EQU 44 ; Script name.
- ; There is a hole here for old Kanji private verbs 46-76
-
- ; New for System 7.0: <1.9>
- smScriptMonoFondSize EQU 78 ; default monospace FOND (hi) & size (lo)
- smScriptPrefFondSize EQU 80 ; preferred FOND (hi) & size (lo)
- smScriptSmallFondSize EQU 82 ; default small FOND (hi) & size (lo)
- smScriptSysFondSize EQU 84 ; default system FOND (hi) & size (lo)
- smScriptAppFondSize EQU 86 ; default application FOND (hi) & size (lo) <9>
- smScriptHelpFondSize EQU 88 ; default Help Mgr FOND (hi) & size (lo) <9>
- smScriptValidStyles EQU 90 ; mask of valid styles for script <18>
- smScriptAliasStyle EQU 92 ; style (set) to use for aliases <18>
-
- ; -----------------------------------------------------------------------------
- ; Negative verbs for KeyScript <13><23>
- ; -----------------------------------------------------------------------------
-
- smKeyNextScript EQU -1 ; Switch to next available script
- smKeySysScript EQU -2 ; Switch to the system script
- smKeySwapScript EQU -3 ; Switch to previously-used script <19>
-
- ; New for System 7.0
- smKeyNextKybd EQU -4 ; Switch to next keyboard in current keyscript
- smKeySwapKybd EQU -5 ; Switch to previously-used keyboard in current keyscript
- ; (smKeySwapKybd is not implemented in System 7.0)
- smKeyDisableKybds EQU -6 ; Disable keyboards not in system or Roman script <23>
- smKeyEnableKybds EQU -7 ; Re-enable keyboards for all enabled scripts <23>
-
- ; Not currently implemented in System, may be implemented by script systems <19>
- ; (Renumbered smKeyNextInputMethod, smKeySwapInputMethod) <23>
- smKeyToggleInline EQU -8 ; Toggle inline input for current keyscript
- smKeyToggleDirection EQU -9 ; Toggle default line direction (TESysJust)
- smKeyNextInputMethod EQU -10 ; Switch to next input method in current keyscript <23>
- smKeySwapInputMethod EQU -11 ; Switch to last-used input method in cur keyscript <23>
-
- smKeyDisableKybdSwitch EQU -12 ; Disable switching from the current keyboard <24>
- ; -----------------------------------------------------------------------------
- ; Bits in the smScriptFlags word (bits above 7 are non-static)
- ; -----------------------------------------------------------------------------
-
- smsfIntellCP EQU 0 ; script has intelligent cut & paste
- smsfSingByte EQU 1 ; script has only single bytes
- smsfNatCase EQU 2 ; native chars have upper & lower case
- smsfContext EQU 3 ; script is contextual <33>
- smsfNoForceFont EQU 4 ; script will not force characters
- smsfB0Digits EQU 5 ; script has alternate digits at B0-B9
- smsfAutoInit EQU 6 ; auto initialize the script <8>
- smsfForms EQU 13 ; uses contextual forms for letters
- smsfLigatures EQU 14 ; uses contextual ligatures
- smsfReverse EQU 15 ; reverses native text, right-left
-
- ; -----------------------------------------------------------------------------
- ; Bits in the smGenFlags long. First (high-order) byte is set from itlc flags byte.
- ; -----------------------------------------------------------------------------
- smfShowIcon EQU 31 ; show icon even if only one script
- smfDualCaret EQU 30 ; use dual caret for mixed direction text
- smfNameTagEnab EQU 29 ; reserved for internal use <16>
-
- ; -----------------------------------------------------------------------------
- ; Roman script constants.
- ; -----------------------------------------------------------------------------
-
- ; The following are here for backward compatibility, but should not be used. <19>
- ; This information should be obtained using GetScript.
- romanSysFond EQU $3FFF ; system font id number.
- romanAppFond EQU 3 ; application font id number.
- romanFlags EQU (1<<smsfIntellCP)+(1<<smsfSingByte)+(1<<smsfNatCase) ; roman settings
-
- ; Script Manager font equates.
-
- smFondStart EQU $4000 ; start from 16K.
- smFondEnd EQU $C000 ; past end of range at 48K.
-
- ; -----------------------------------------------------------------------------
- ; Simple script constants.
- ; -----------------------------------------------------------------------------
- smUprHalfCharSet EQU $80 ; first character code in upper half of Macintosh Character Set <8>
-
- ; -----------------------------------------------------------------------------
- ; Macintosh character set extensions
- ; -----------------------------------------------------------------------------
-
- diaeresisUprY EQU $D9 ; Ÿ
- fraction EQU $DA ; ⁄
- intlCurrency EQU $DB ; €
- leftSingGuillemet EQU $DC ; ‹
- rightSingGuillemet EQU $DD ; ›
- fiLigature EQU $DE ; fi
- flLigature EQU $DF ; fl
- dblDagger EQU $E0 ; ‡
- centeredDot EQU $E1 ; ·
- baseSingQuote EQU $E2 ; ‚
- baseDblQuote EQU $E3 ; „
- perThousand EQU $E4 ; ‰
- circumflexUprA EQU $E5 ; Â
- circumflexUprE EQU $E6 ; Ê
- acuteUprA EQU $E7 ; Á
- diaeresisUprE EQU $E8 ; Ë
- graveUprE EQU $E9 ; È
- acuteUprI EQU $EA ; Í
- circumflexUprI EQU $EB ; Î
- diaeresisUprI EQU $EC ; Ï
- graveUprI EQU $ED ; Ì
- acuteUprO EQU $EE ; Ó
- circumflexUprO EQU $EF ; Ô
- appleLogo EQU $F0 ;
- graveUprO EQU $F1 ; Ò
- acuteUprU EQU $F2 ; Ú
- circumflexUprU EQU $F3 ; Û
- graveUprU EQU $F4 ; Ù
- dotlessLwrI EQU $F5 ; ı
- circumflex EQU $F6 ; ˆ
- tilde EQU $F7 ; ˜
- macron EQU $F8 ; ¯
- breveMark EQU $F9 ; ˘ <34>
- overDot EQU $FA ; ˙
- ringMark EQU $FB ; ˚ <34>
- cedilla EQU $FC ; ¸
- doubleAcute EQU $FD ; ˝
- ogonek EQU $FE ; ˛
- hachek EQU $FF ; (don't type it here - breaks MPW tools!)
-
- ; -----------------------------------------------------------------------------
- ; Other new constants for 7.0 <2.7>
- ; -----------------------------------------------------------------------------
-
- ; Constants for truncWhere argument in TruncString and TruncText <2.7>
-
- smTruncEnd EQU 0 ; Truncate at end
- smTruncMiddle EQU $4000 ; Truncate in middle
-
- ; Constants for TruncString and TruncText results <13>
-
- smNotTruncated EQU 0 ; No truncation was necessary
- smTruncated EQU 1 ; Truncation performed
- smTruncErr EQU -1 ; General error
-
- ; Constants for styleRunPosition argument in NPortionText, NDrawJust, NMeasureJust, <2>
- ; NChar2Pixel, and NPixel2Char.
-
- smOnlyStyleRun EQU 0 ; This is the only style run on the line.
- smLeftStyleRun EQU 1 ; This is leftmost of multiple style runs on the line.
- smRightStyleRun EQU 2 ; This is rightmost of multiple style runs on the line.
- smMiddleStyleRun EQU 3 ; There are multiple style runs on the line and this…
- ; …is neither the leftmost nor the rightmost.
-
- ; -----------------------------------------------------------------------------
- ; Record declarations for itlc, itlb, itl2, itl4
- ; -----------------------------------------------------------------------------
- ; Record declaration for international configuration resource (type itlc).
-
- ItlcRecord record 0
- itlcSystem ds.w 1 ; default system script.
- itlcReserved ds.w 1 ; reserved
- itlcFontForce ds.b 1 ; default font force flag.
- itlcIntlForce ds.b 1 ; default intl force flag.
- itlcOldKybd ds.b 1 ; MacPlus intl keybd flag <33>
- itlcFlags ds.b 1 ; general flags
- itlcIconOffset ds.w 1 ; keyboard icon offset (not in 7.0) <1.3><33>
- itlcIconSide ds.b 1 ; keybd icon side (R=0,L=$FF) (not 7.0) <1.3><33>
- itlcIconRsvd ds.b 1 ; rsvd for other icon info <1.3><33>
- itlcRegionCode ds.w 1 ; preferred verXxx code <4>
- itlcReserved3 ds.b 34 ; for future use <4><5>
- itlcSize equ * ; size of script itlc.
- endr
-
- ; Record declaration for international bundle resource (type itlb).
-
- ItlbRecord record 0
- itlbNumber ds.w 1 ; itl0 ID number.
- itlbDate ds.w 1 ; itl1 ID number.
- itlbSort ds.w 1 ; itl2 ID number.
- itlbFlags ds.w 1 ; Script Flags.
- itlbToken ds.w 1 ; itl4 ID number.
- itlbEncoding ds.w 1 ; itl5 ID # (optional; char encoding). <22>
- itlbLang ds.w 1 ; current language for script
- itlbNumRep ds.b 1 ; number representation code
- itlbDateRep ds.b 1 ; date representation code
- itlbKeys ds.w 1 ; KCHR id number.
- itlbIcon ds.w 1 ; ID # of SICN or kcs#/kcs4/kcs8 suite.
- itlbSize equ * ; size of bundle.
- endr
-
- ; Extended itlb to support auto initialization of scripts <8>
- ItlbExtRecord record 0
- base ds ItlbRecord ; un-extended itlbRecord
- itlbLocalSize ds.l 1 ; size of script's local record
- itlbMonoFond ds.w 1 ; default monospace FOND ID
- itlbMonoSize ds.w 1 ; default monospace font size
- itlbPrefFond ds.w 1 ; preferred FOND ID
- itlbPrefSize ds.w 1 ; preferred font size
- itlbSmallFond ds.w 1 ; default small FOND ID
- itlbSmallSize ds.w 1 ; default small font size
- itlbSysFond ds.w 1 ; default system FOND ID
- itlbSysSize ds.w 1 ; default system font size
- itlbAppFond ds.w 1 ; default application FOND ID
- itlbAppSize ds.w 1 ; default application font size
- itlbHelpFond ds.w 1 ; default Help Mgr FOND ID <9>
- itlbHelpSize ds.w 1 ; default Help Mgr font size <9>
- itlbValidStyles ds.b 1 ; mask of valid styles for script <18>
- itlbAliasStyle ds.b 1 ; style (set) to mark aliases <18>
- itlbExtSize equ * ; size of ItlbExtRecord
- endr
-
- ; itl2 routine vector offsets.
-
- initHook EQU 0
- fetchHook EQU 2
- vernierHook EQU 4
- projectHook EQU 6
- rsvdHook EQU 8
- exitHook EQU 10
-
- ; Note that the value of itl2FlagsOffset is equal
- ; to the value of rsvdHook. In the old itl2
- ; format the value at this location was an
- ; unused routine offset. In the new itl2
- ; format, the value at this location is a flag
- ; ($ffff) indicating the new format that includes
- ; the offsets to the tables for LwrString and
- ; tables for the Roman versions of the CharType,
- ; Transliterate and FindWord.
-
- itl2FlagsOffset EQU 8
- ; itl2 table offsets
-
- typeListOffset EQU 12
- classArrayOffset EQU 14
- upperListOffset EQU 16
- lowerListOffset EQU 18
- upperNoMarkListOffset EQU 20
- wordTableOffset EQU 22
- wrapTableOffset EQU 24
- noMarkListOffset EQU 26
- itl2VersionOffset EQU 28
- itl2FormatOffset EQU 30 ; <28>
-
- ; New for System 7.0:<2.5>
- ; itl2 table/code lengths.
-
- wordTableLen EQU 54 ; <2.5>
- wrapTableLen EQU 56 ; <2.5>
- findScriptTableOffset EQU 60 ; <8>
- findScriptTableLen EQU 62 ; <8>
-
- ; New for System 7.0:
- ; itl2FormatOffset definitions
- hdrExtensionsExist EQU 1 ; <28>
-
- ; String data structure for itl2 stack frames.
-
- IUStrData record 0
- curChar ds.w 1 ; current character.
- mapChar ds.w 1 ; projected character.
- decChar ds.w 1 ; decision char for weak equality.
- bufChar ds.b 1 ; buffer for expansion.
- justAfter ds.b 1 ; boolean for AE vs ligature-AE.
- ignChar ds.b 1 ; flag: ignore char.
- noFetch ds.b 1 ; flag: no fetch of next.
- strCnt ds.w 1 ; length word.
- strPtr ds.l 1 ; current ptr to string.
- endr
-
- ; Stack frame for itl2 sorting routines.
-
- IUSortFrame record {oldA6},decrement
- result ds.w 1
- aStrText ds.l 1
- bStrText ds.l 1
- aStrLen ds.w 1
- bStrLen ds.w 1
- return ds.l 1
- oldA6 ds.l 1
- aInfo ds IUStrData
- bInfo ds IUStrData
- wantMag ds.b 1 ; 0 to use primary differences only; else 1 <33>
- weakEq ds.b 1 ; Signals at most weak equality.
- msLock ds.b 1 ; (obsolete, not used)
- weakMag ds.b 1 ; -1 to force magnitude result (-1,0,1); else 0 <33>
- supStorage ds.b 18 ; extra storage.
- weakAPtr ds.l 1 ; sup. pointer
- weakBPtr ds.l 1 ; sup. pointer
- lkSize equ * ; frame size.
- paramBytes equ aStrText-return
- endr
-
- ; New for System 7.0:
- ; New stack frame for itl2 sorting routines in System 7.0; adds itl2Handle field. <5>
-
- IUNSortFrame record {oldA6},decrement
- result ds.w 1
- aStrText ds.l 1
- bStrText ds.l 1
- aStrLen ds.w 1
- bStrLen ds.w 1
- return ds.l 1
- oldA6 ds.l 1
- aInfo ds IUStrData
- bInfo ds IUStrData
- wantMag ds.b 1 ; 0 to use primary differences only; else 1 <33>
- weakEq ds.b 1 ; Signals at most weak equality.
- msLock ds.b 1 ; (obsolete, not used)
- weakMag ds.b 1 ; -1 to force magnitude result (-1,0,1); else 0 <33>
- supStorage ds.b 18 ; extra storage.
- weakAPtr ds.l 1 ; sup. pointer
- weakBPtr ds.l 1 ; sup. pointer
- itl2Handle ds.l 1 ; itl2 handle, if supplied <2.3>
- lkSize equ * ; frame size.
- paramBytes equ aStrText-return
- endr
-
- Itl4Rec record 0,increment ; (added comments <33>)
- flags ds.w 1 ; reserved
- resourceType ds.l 1 ; contains 'itl4'
- resourceNum ds.w 1 ; resource ID
- version ds.w 1 ; version number
- resHeader1 ds.l 1 ; reserved
- resHeader2 ds.l 1 ; reserved
- numTables ds.w 1 ; number of tables, one-based
- ; the following offsets are from beginning of resource
- mapOffset ds.l 1 ; offset to table that maps byte to token
- strOffset ds.l 1 ; offset to routine that copies canonical string
- fetchOffset ds.l 1 ; offset to routine that gets next byte of character
- unTokenOffset ds.l 1 ; offset to table that maps token to canonical string
- defPartsOffset ds.l 1 ; offset to default number parts table
- resOffset6 ds.l 1 ; reserved
- resOffset7 ds.l 1 ; reserved
- resOffset8 ds.l 1 ; reserved
- itl4HeaderSize equ *
- ; the rest is data pointed to by offsets.
- endr
-
- ; New for System 7.0: <5>
-
- NItl4Rec record 0,increment ; (added comments <33>)
- flags ds.w 1 ; reserved
- resourceType ds.l 1 ; contains 'itl4'
- resourceNum ds.w 1 ; resource ID
- version ds.w 1 ; version number
- format ds.w 1 ; format code <29>
- resHeader ds.w 1 ; reserved <29>
- resHeader2 ds.l 1 ; reserved
- numTables ds.w 1 ; number of tables, one-based
- ; the following offsets are from beginning of resource
- mapOffset ds.l 1 ; offset to table that maps byte to token
- strOffset ds.l 1 ; offset to routine that copies canonical string
- fetchOffset ds.l 1 ; offset to routine that gets next byte of character
- unTokenOffset ds.l 1 ; offset to table that maps token to canonical string
- defPartsOffset ds.l 1 ; offset to default number parts table
- whtSpListOffset ds.l 1 ; offset to white space code list <2.3><15>
- resOffset7 ds.l 1 ; reserved
- resOffset8 ds.l 1 ; reserved
- resLength1 ds.w 1 ; reserved <2.5>
- resLength2 ds.w 1 ; reserved <2.5>
- resLength3 ds.w 1 ; reserved <2.5>
- unTokenLength ds.w 1 ; length of untoken table <2.5><9>
- defPartsLength ds.w 1 ; length of default number parts table <2.5><9>
- whtSpListLength ds.w 1 ; length of white space code list <2.5><9><20>
- resLength7 ds.w 1 ; reserved <2.5>
- resLength8 ds.w 1 ; reserved <2.5>
- nItl4HeaderSize equ * ; <22>
- ; the rest is data pointed to by offsets.
- endr
-
- ; -----------------------------------------------------------------------------
- ; Record declarations and constants for date/time/location handling
- ; -----------------------------------------------------------------------------
-
- LongDateRec record 0 ; zero any fields not used!
- era ds.w 1
- year ds.w 1
- month ds.w 1
- day ds.w 1
- hour ds.w 1
- minute ds.w 1
- second ds.w 1
- dayOfWeek ds.w 1
- dayOfYear ds.w 1
- weekOfYear ds.w 1
- pm ds.w 1
- ldReserved ds.w 3
- LongDateRecSize equ *
- endR
-
- LongDateTime record 0 ; record for comp type
- highLong ds.l 1
- lowLong ds.l 1
- endR
-
- ; date equates constants
-
- LongDateField record 0 ;DateField: enum type
- eraField ds.b 1
- yearField ds.b 1
- monthField ds.b 1
- dayField ds.b 1
- hourField ds.b 1
- minuteField ds.b 1
- secondField ds.b 1
- dayOfWeekField ds.b 1
- dayOfYearField ds.b 1
- weekOfYearField ds.b 1
- pmField ds.b 1
- res1Field ds.b 1
- res2Field ds.b 1
- res3Field ds.b 1
-
- maxDateField equ pmField ; currently largest used field
-
- eraMask equ 1<<eraField
- yearMask equ 1<<yearField
- monthMask equ 1<<monthField
- dayMask equ 1<<dayField
- hourMask equ 1<<hourField
- minuteMask equ 1<<minuteField
- secondMask equ 1<<secondField
- dayOfWeekMask equ 1<<dayOfWeekField
- dayOfYearMask equ 1<<dayOfYearField
- weekOfYearMask equ 1<<weekOfYearField
- pmMask equ 1<<pmField
-
- dateStdMask equ eraMask++yearMask++monthMask++dayMask++hourMask++minuteMask++secondMask
- endR
-
- smallDateBit EQU 31 ; Restrict valid date/time to range of Time global
- togChar12HourBit EQU 30 ; If toggling hour by char, accept hours 1..12 only
- togCharZCycleBit EQU 29 ; Modifier for togChar12HourBit: accept hours 0..11 only
- togDelta12HourBit EQU 28 ; If toggling hour up/down, restrict to 12-hour range (am/pm)
- genCdevRangeBit EQU 27 ; Restrict date/time to range used by genl CDEV
- validDateFields EQU -1
-
-
- TogglePB record 0
- togFlags ds.l 1 ; longint; caller normally sets low word to dateStdMask = $7F
- amChars ds.l 1 ; ResType; from 'itl0', but uppercased <33>
- pmChars ds.l 1 ; ResType; from 'itl0', but uppercased <33>
- reserved ds.l 4 ; array [0..3] of Longint
- endR
-
- ToggleResults record 0
- toggleUndefined ds.b 1
- toggleOk ds.b 1
- toggleBadField ds.b 1
- toggleBadDelta ds.b 1
- toggleBadChar ds.b 1
- toggleUnknown ds.b 1
- toggleBadNum ds.b 1 ; can't use char as number
- toggleOutOfRange EQU * ; synonym for toggleErr3
- toggleErr3 ds.b 1 ; reserved
- toggleErr4 ds.b 1 ; reserved
- toggleErr5 ds.b 1 ; reserved
- endR
-
- MachineLocation record 0
- latitude ds.l 1 ; fract
- longitude ds.l 1 ; fract
- dlsDelta ds.b 1 ; signed byte
- gmtDelta ds.b 3 ; 3 byte signed integer
- endR
-
-
- ; String2Date/String2Time status values
-
- fatalDateTime EQU $8000 ; String2Date and String2Time mask to a fatal error
- longDateFound EQU 1 ; String2Date mask to long date found
- leftOverChars EQU 2 ; String2Date & Time mask to warn of left over characters
- sepNotIntlSep EQU 4 ; String2Date & Time mask to warn of non-standard separators
- fieldOrderNotIntl EQU 8 ; String2Date & Time mask to warn of non-standard field order
- extraneousStrings EQU 16 ; String2Date & Time mask to warn of unparsable strings in text
- tooManySeps EQU 32 ; String2Date & Time mask to warn of too many separators
- sepNotConsistent EQU 64 ; String2Date & Time mask to warn of inconsistent separators
- tokenErr EQU fatalDateTime + 256 ; String2Date & Time mask for 'tokenizer err encountered'
- cantReadUtilities EQU fatalDateTime + 512 ;
- dateTimeNotFound EQU fatalDateTime + 1024 ; String2Date mask for 'date was not found'
- dateTimeInvalid EQU fatalDateTime + 2048 ; Invalid time/date e.g. 13:61PM
-
-
- DateOrders RECORD 0,INCREMENT
- mdy DS.B 1
- dmy DS.B 1
- ymd DS.B 1
- myd DS.B 1
- dym DS.B 1
- ydm DS.B 1
- ENDR
-
- ; -----------------------------------------------------------------------------
- ; Constants and record declarations for tokenizer (added comments <33>)
- ; -----------------------------------------------------------------------------
-
- tokenIntl EQU 4 ; the itl resource number for the tokenizer
-
- tokenEmpty EQU -1 ; used internally as an empty flag
- tokenUnknown EQU 0 ; chars that do not match a defined token type
- tokenWhite EQU 1 ; white space
- tokenLeftLit EQU 2 ; literal begin
- tokenRightLit EQU 3 ; literal end
- tokenAlpha EQU 4 ; alphabetic
- tokenNumeric EQU 5 ; numeric
- tokenNewLine EQU 6 ; new line
- tokenLeftComment EQU 7 ; open comment
- tokenRightComment EQU 8 ; close comment
- tokenLiteral EQU 9 ; literal
- tokenEscape EQU 10 ; character escape (e.g. '\' in "\n", "\t")
- tokenAltNum EQU 11 ; alternate number (e.g. $B0-B9 in Arabic,Hebrew)
- tokenRealNum EQU 12 ; real number
- tokenAltReal EQU 13 ; alternate real number
- tokenReserve1 EQU 14 ; reserved
- tokenReserve2 EQU 15 ; reserved
- tokenLeftParen EQU 16 ; open parenthesis
- tokenRightParen EQU 17 ; close parenthesis
- tokenLeftBracket EQU 18 ; open square bracket
- tokenRightBracket EQU 19 ; close square bracket
- tokenLeftCurly EQU 20 ; open curly bracket
- tokenRightCurly EQU 21 ; close curly bracket
- tokenLeftEnclose EQU 22 ; open guillemet
- tokenRightEnclose EQU 23 ; close guillemet
- tokenPlus EQU 24
- tokenMinus EQU 25
- tokenAsterisk EQU 26 ; times/multiply
- tokenDivide EQU 27
- tokenPlusMinus EQU 28 ; plus or minus symbol
- tokenSlash EQU 29
- tokenBackSlash EQU 30
- tokenLess EQU 31 ; less than symbol
- tokenGreat EQU 32 ; greater than symbol
- tokenEqual EQU 33
- tokenLessEqual2 EQU 34 ; less than or equal, 2 characters (e.g. <=)
- tokenLessEqual1 EQU 35 ; less than or equal, 1 character
- tokenGreatEqual2 EQU 36 ; greater than or equal, 2 characters (e.g. >=)
- tokenGreatEqual1 EQU 37 ; greater than or equal, 1 character
- token2Equal EQU 38 ; double equal (e.g. ==)
- tokenColonEqual EQU 39 ; colon equal
- tokenNotEqual EQU 40 ; not equal, 1 character
- tokenLessGreat EQU 41 ; less/greater, Pascal not equal (e.g. <>)
- tokenExclamEqual EQU 42 ; exclamation equal, C not equal (e.g. !=)
- tokenExclam EQU 43 ; exclamation point
- tokenTilde EQU 44 ; centered tilde (fix spelling <15>)
- tokenComma EQU 45
- tokenPeriod EQU 46
- tokenLeft2Quote EQU 47 ; open double quote
- tokenRight2Quote EQU 48 ; close double quote
- tokenLeft1Quote EQU 49 ; open single quote
- tokenRight1Quote EQU 50 ; close single quote
- token2Quote EQU 51 ; double quote
- token1Quote EQU 52 ; single quote
- tokenSemicolon EQU 53
- tokenPercent EQU 54
- tokenCaret EQU 55 ; (fix spelling <33>)
- tokenUnderline EQU 56
- tokenAmpersand EQU 57
- tokenAtSign EQU 58
- tokenBar EQU 59 ; vertical bar
- tokenQuestion EQU 60
- tokenPi EQU 61 ; lower-case pi
- tokenRoot EQU 62 ; square root symbol
- tokenSigma EQU 63 ; capital sigma
- tokenIntegral EQU 64 ; integral sign
- tokenMicro EQU 65
- tokenCapPi EQU 66 ; capital pi
- tokenInfinity EQU 67
- tokenColon EQU 68
- tokenHash EQU 69 ; e.g. #
- tokenDollar EQU 70
- tokenNoBreakSpace EQU 71 ; non-breaking space
- tokenFraction EQU 72
- tokenIntlCurrency EQU 73
- tokenLeftSingGuillemet EQU 74
- tokenRightSingGuillemet EQU 75 ; (Fixed spelling <19>)
- tokenPerThousand EQU 76
- tokenEllipsis EQU 77 ; <15>
- tokenCenterDot EQU 78 ; <15>
- tokenNil EQU 127
-
- delimPad EQU -2
-
- ; obsolete, misspelled token names kept for backward compatibility (moved here <33>)
-
- tokenTilda EQU 44 ; keep wrong spelling for backward compatibility <15>
- tokenCarat EQU 55
-
- TokenResults record 0
- tokenOK ds.b 1
- tokenOverflow ds.b 1
- stringOverflow ds.b 1
- badDelim ds.b 1
- badEnding ds.b 1
- crash ds.b 1
- endr
-
- TokenBlock RECORD 0,INCR ; (added comments <33>)
- source ds.l 1 ; pointer to stream of characters
- sourceLength ds.l 1 ; length of source stream
- tokenList ds.l 1 ; pointer to array of tokens
- tokenLength ds.l 1 ; maximum length of TokenList
- tokenCount ds.l 1 ; number tokens generated by tokenizer
- stringList ds.l 1 ; pointer to stream of identifiers
- stringLength ds.l 1 ; length of string list
- stringCount ds.l 1 ; number of bytes currently used
- doString ds.b 1 ; Boolean: make strings & put into StringList
- doAppend ds.b 1 ; Boolean: append to TokenList rather than replace
- doAlphanumeric ds.b 1 ; Boolean: identifiers may include numeric
- doNest ds.b 1 ; Boolean: do comments nest?
- leftDelims ds.w 2
- rightDelims ds.w 2
- leftComment ds.l 2
- rightComment ds.l 2
- escapeCode ds.w 1 ; escape symbol code
- decimalCode ds.w 1
- itlResource ds.l 1 ; handle to itl4 resource of current script
- reserved ds.l 8 ; must be zero!
- ENDR
-
- TokenRec RECORD 0,INCR ; (added comments <33>)
- theToken ds.w 1 ; TokenType
- position ds.l 1 ; Ptr into original source
- length ds.l 1 ; length of text in original source
- stringPosition ds.l 1 ; StringPtr to copy of identifier
- tokenRecSize equ *
- ENDR
-
- UntokenTable Record 0, INCR
- len ds.w 1
- lastToken ds.w 1
- index ds.w 256 ; index table; last = lastToken
- ;list of pascal strings here. index pointers are from front of table
- Endr
-
- ; -----------------------------------------------------------------------------
- ; Record declarations and constants for formatted number handling
- ; -----------------------------------------------------------------------------
-
- ; FormatClass enumeration
-
- fPositive EQU 0
- fNegative EQU 1
- fZero EQU 2
-
- ; FormatResultType enumeration
-
- fFormatOK EQU 0
- fBestGuess EQU 1
- fOutOfSynch EQU 2
- fSpuriousChars EQU 3
- fMissingDelimiter EQU 4
- fExtraDecimal EQU 5
- fMissingLiteral EQU 6
- fExtraExp EQU 7
- fFormatOverflow EQU 8
- fFormStrIsNAN EQU 9
- fBadPartsTable EQU 10
- fExtraPercent EQU 11
- fExtraSeparator EQU 12
- fEmptyFormatString EQU 13
-
- WideChar record 0,increment
- a ds.b 2 ; PACKED ARRAY[0..1] OF CHAR
- ORG a
- b ds.w 1 ; INTEGER
- endr
-
- WideCharArr record 0,increment
- size ds.w 1 ; INTEGER
- data ds.w 10 ; PACKED ARRAY[0..9] OF WideChar
- endr
-
- fVNumber EQU 0 ; first version of NumFormatString
-
- NumFormatString record 0,increment
- fLength ds.b 1 ; length of format String
- fVersion ds.b 1 ; version number
- data ds.b 254 ; private data <33>
- endr
-
- ;Number format equates
-
- tokLeftQuote EQU 1
- tokRightQuote EQU 2
- tokLeadPlacer EQU 3
- tokLeader EQU 4
- tokNonLeader EQU 5
- tokZeroLead EQU 6
- tokPercent EQU 7
- tokPlusSign EQU 8
- tokMinusSign EQU 9
- tokThousands EQU 10
- tokSeparator EQU 12 ; 11 is reserved
- tokEscape EQU 13
- tokDecPoint EQU 14
- tokEPlus EQU 15
- tokEMinus EQU 16
- tokMaxSymbols EQU 31
-
- NumberParts record 0,increment
- version ds.w 1 ; integer
- data ds.w tokMaxSymbols ; ARRAY[tokLeftQuote..tokMaxSymbols] OF WideChar
- pePlus ds WideCharArr ; 64
- peMinus ds WideCharArr ; 86
- peMinusPlus ds WideCharArr ; 108
- altNumTable ds WideCharArr ; 130
- reserved ds.b 20
- numberPartsSize equ *
- curNumberPartsVersion equ 1
- endr
-
-
- FVector record 0,increment
- start ds.w 1 ; INTEGER
- length ds.w 1 ; INTEGER
- endr
-
- TripleInt record 0,increment
- zzz1 ds FVector
- zzz2 ds FVector
- zzz3 ds FVector
- endr
-
- ; -----------------------------------------------------------------------------
- ; Record for FindScriptRun result
- ; -----------------------------------------------------------------------------
-
- ScriptRunStatus record 0,increment
- script ds.b 1
- variant ds.b 1
- endr
-
- ; -----------------------------------------------------------------------------
- ; Selectors and macros for the Script Manager trap call, _ScriptUtil
- ; -----------------------------------------------------------------------------
-
- Macro
- DefSMgrRoutine &name,&selector,&argSize,&returnSize
- sm&name: equ &selector**$FFFF
- smSel&name: equ (1<<31)++(&returnSize<<24)++(&argSize<<16)++sm&name
- endm
-
- ; Trap routine selectors: script manager 1.0
-
- smFontScript EQU 0
- smIntlScript EQU 2
- smKybdScript EQU 4
- smFont2Script EQU 6
- smGetEnvirons EQU 8
- smSetEnvirons EQU 10
- smGetScript EQU 12
- smSetScript EQU 14
- smHighCall EQU smSetScript ; boundary between script mgr & script systems
- smCharByte EQU 16
- smCharType EQU 18
- smPixel2Char EQU 20
- smChar2Pixel EQU 22
- smTranslit EQU 24
- smFindWord EQU 26
- smHiliteText EQU 28
- smDrawJust EQU 30
- smMeasureJust EQU 32
- smParseTable EQU 34
-
- ; Full Trap routine selectors: script manager 1.0
-
- ; format newBit return/args
- smSelFontScript EQU (1<<31)++($0200<<16)++smFontScript
- smSelIntlScript EQU (1<<31)++($0200<<16)++smIntlScript
- smSelKybdScript EQU (1<<31)++($0002<<16)++smKybdScript
- smSelFont2Script EQU (1<<31)++($0202<<16)++smFont2Script
- smSelGetEnvirons EQU (1<<31)++($0402<<16)++smGetEnvirons
- smSelSetEnvirons EQU (1<<31)++($0206<<16)++smSetEnvirons
- smSelGetScript EQU (1<<31)++($0404<<16)++smGetScript
- smSelSetScript EQU (1<<31)++($0208<<16)++smSetScript
- smSelCharType EQU (1<<31)++($0206<<16)++smCharType
- smSelCharByte EQU (1<<31)++($0206<<16)++smCharByte
- smSelPixel2Char EQU (1<<31)++($020E<<16)++smPixel2Char
- smSelChar2Pixel EQU (1<<31)++($020C<<16)++smChar2Pixel
- smSelTranslit EQU (1<<31)++($020E<<16)++smTranslit
- smSelFindWord EQU (1<<31)++($0012<<16)++smFindWord
- smSelHiliteText EQU (1<<31)++($000E<<16)++smHiliteText
- smSelDrawJust EQU (1<<31)++($0008<<16)++smDrawJust
- smSelMeasureJust EQU (1<<31)++($000C<<16)++smMeasureJust
- smSelParseTable EQU (1<<31)++($0204<<16)++smParseTable
-
- ; selectors for general script manager 2.0 routines
-
- DefSmgrRoutine StyledLineBreak, -2,28,2
- DefSmgrRoutine GetFormatOrder, -4,18,0
- DefSmgrRoutine IntlTokenize, -6,4,2
-
- DefSmgrRoutine InitDateCache, -8,4,2
- DefSmgrRoutine String2Date, -10,20,2
- DefSmgrRoutine String2Time, -12,20,2
-
- DefSmgrRoutine LongDate2Secs, -14,8,0
- DefSmgrRoutine LongSecs2Date, -16,8,0
- DefSmgrRoutine ToggleDate, -18,14,2
-
- DefSmgrRoutine Str2Format, -20,12,2
- DefSmgrRoutine Format2Str, -22,16,2
- DefSmgrRoutine FormatX2Str, -24,16,2
- DefSmgrRoutine FormatStr2X, -26,16,2
- DefSmgrRoutine ValidDate, -28,12,2
-
- ; selectors for script-specific script manager 2.0 routines
-
- DefSmgrRoutine PortionText, 36,8,4
- DefSmgrRoutine FindScriptRun, 38,12,2
- DefSmgrRoutine VisibleLength, 40,8,4
- DefSmgrRoutine IsSpecialFont, 42,2,2
- DefSmgrRoutine RawPrinterValues, 44,22,2
-
- ; selectors for general script manager 7.0 routines <2.1><2.4>
-
- DefSmgrRoutine NFindWord, -30,18,0 ; smSel… = $8012FFE2 <2.3>
- DefSmgrRoutine TruncString, -32,8,2 ; smSel… = $8208FFE0 <2.3><2.7><6>
- DefSmgrRoutine TruncText, -34,12,2 ; smSel… = $820CFFDE <2.3><2.7><6>
- DefSmgrRoutine ReplaceText, -36,12,2 ; smSel… = $820CFFDC <2.3>
-
- ; selectors for script-specific script manager 7.0 routines <2>
-
- DefSmgrRoutine NPixel2Char, 46,34,2 ; $8222002E <2><17>
- DefSmgrRoutine NChar2Pixel, 48,28,2 ; $821C0030 <2><17>
- DefSmgrRoutine NDrawJust, 50,22,0 ; $80160032 <2><17>
- DefSmgrRoutine NMeasureJust, 52,26,0 ; $801A0034 <2><17>
- DefSmgrRoutine NPortionText, 54,18,4 ; $84120036 <2><17>
-
- ; moved definition of sisHighCall and fisHighCall to ScriptPriv.a <2>
-
- ;------------------------------------------------------------------------------
- ; Trap routine macros: Script Manager 1.0
-
- macro
- _FontScript
- move.l #smSelFontScript,-(sp)
- _ScriptUtil
- endm
-
- macro
- _IntlScript
- move.l #smSelIntlScript,-(sp)
- _ScriptUtil
- endm
-
- macro
- _KeyScript
- move.l #smSelKybdScript,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Font2Script
- move.l #smSelFont2Script,-(sp)
- _ScriptUtil
- endm
-
- macro
- _GetEnvirons
- move.l #smSelGetEnvirons,-(sp)
- _ScriptUtil
- endm
-
- macro
- _SetEnvirons
- move.l #smSelSetEnvirons,-(sp)
- _ScriptUtil
- endm
-
- macro
- _GetScript
- move.l #smSelGetScript,-(sp)
- _ScriptUtil
- endm
-
- macro
- _SetScript
- move.l #smSelSetScript,-(sp)
- _ScriptUtil
- endm
-
- macro
- _CharByte
- move.l #smSelCharByte,-(sp)
- _ScriptUtil
- endm
-
- macro
- _CharType
- move.l #smSelCharType,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Pixel2Char
- move.l #smSelPixel2Char,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Char2Pixel
- move.l #smSelChar2Pixel,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Transliterate
- move.l #smSelTranslit,-(sp)
- _ScriptUtil
- endm
-
- macro
- _FindWord
- move.l #smSelFindWord,-(sp)
- _ScriptUtil
- endm
-
- macro
- _HiliteText
- move.l #smSelHiliteText,-(sp)
- _ScriptUtil
- endm
-
- macro
- _DrawJust
- move.l #smSelDrawJust,-(sp)
- _ScriptUtil
- endm
-
- macro
- _MeasureJust
- move.l #smSelMeasureJust,-(sp)
- _ScriptUtil
- endm
-
- macro
- _ParseTable
- move.l #smSelParseTable,-(sp)
- _ScriptUtil
- endm
-
- ;------------------------------------------------------------------------------
- ; Trap routine macros: Script Manager 2.0
-
- macro
- _GetFormatOrder
- move.l #smSelGetFormatOrder,-(sp)
- _ScriptUtil
- endm
-
- macro
- _StyledLineBreak
- move.l #smSelStyledLineBreak,-(sp)
- _ScriptUtil
- endm
-
- macro
- _IntlTokenize
- move.l #smSelIntlTokenize,-(sp)
- _ScriptUtil
- endm
-
- macro
- _InitDateCache
- move.l #smSelInitDateCache,-(sp)
- _ScriptUtil
- endm
-
- macro
- _String2Date
- move.l #smSelString2Date,-(sp)
- _ScriptUtil
- endm
-
- macro
- _String2Time
- move.l #smSelString2Time,-(sp)
- _ScriptUtil
- endm
-
- macro
- _LongSecs2Date
- move.l #smSelLongSecs2Date,-(sp)
- _ScriptUtil
- endm
-
- macro
- _LongDate2Secs
- move.l #smSelLongDate2Secs,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Str2Format
- move.l #smSelStr2Format,-(sp)
- _ScriptUtil
- endm
-
- macro
- _Format2Str
- move.l #smSelFormat2Str,-(sp)
- _ScriptUtil
- endm
-
- macro
- _FormatX2Str
- move.l #smSelFormatX2Str,-(sp)
- _ScriptUtil
- endm
-
- macro
- _FormatStr2X
- move.l #smSelFormatStr2X,-(sp)
- _ScriptUtil
- endm
-
- macro
- _ValidDate
- move.l #smSelValidDate,-(sp)
- _ScriptUtil
- endm
-
- macro
- _ToggleDate
- move.l #smSelToggleDate,-(sp)
- _ScriptUtil
- endm
-
- macro
- _PortionText
- move.l #smSelPortionText,-(sp)
- _ScriptUtil
- endm
-
- macro
- _FindScriptRun
- move.l #smSelFindScriptRun,-(sp)
- _ScriptUtil
- endm
-
- macro
- _ReadLocation
- movea.l (sp)+,A0
- move.l #$000C00E4,D0
- _ReadXPRam
- endm
-
- macro
- _WriteLocation
- movea.l (sp)+,A0
- move.l #$000C00E4,D0
- _WriteXPRam
- endm
-
- macro
- _VisibleLength
- move.l #smSelVisibleLength,-(sp)
- _ScriptUtil
- endm
-
- macro
- _IsSpecialFont
- move.l #smSelIsSpecialFont,-(sp)
- _ScriptUtil
- endm
-
- macro
- _RawPrinterValues
- move.l #smSelRawPrinterValues,-(sp)
- _ScriptUtil
- endm
-
-
- ;------------------------------------------------------------------------------
- ; Trap routine macros: Script Manager 7.0 <2.1>
-
- macro
- _NFindWord ; <2.3>
- move.l #smSelNFindWord,-(sp)
- _ScriptUtil
- endm
-
- macro
- _TruncString ; <2.3>
- move.l #smSelTruncString,-(sp)
- _ScriptUtil
- endm
-
- macro
- _TruncText ; <2.3>
- move.l #smSelTruncText,-(sp)
- _ScriptUtil
- endm
-
- macro
- _ReplaceText ; <2.3>
- move.l #smSelReplaceText,-(sp)
- _ScriptUtil
- endm
-
- macro
- _NPixel2Char ; <2>
- move.l #smSelNPixel2Char,-(sp)
- _ScriptUtil
- endm
-
- macro
- _NChar2Pixel ; <2>
- move.l #smSelNChar2Pixel,-(sp)
- _ScriptUtil
- endm
-
- macro
- _NDrawJust ; <2>
- move.l #smSelNDrawJust,-(sp)
- _ScriptUtil
- endm
-
- macro
- _NMeasureJust ; <2>
- move.l #smSelNMeasureJust,-(sp)
- _ScriptUtil
- endm
-
- macro
- _NPortionText ; <2>
- move.l #smSelNPortionText,-(sp)
- _ScriptUtil
- endm
-
- ENDIF ; ...already included